/*
by Mudassar Raza
	     L:- 50
	     C:- 100
	     D:- 500
	     M:- 1,000
	     V:- 5,000
	     N:- 10,000

*/
#include<stdio.h>
#include<conio.h>
#include<string.h>

void main()
 {
   char     num[10][6] = {"I","II","III","IV","V","VI","VII","VIII","IX"};
   char   numty[10][9] = {"X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
   char numhund[10][11]= {"C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
   char numthsd[10][11]= {"M","MM","MMM","MV","V","VM","VMM","VMMM","N"};
   char str[6];
   int len;
   char ch='y';
   do{
      clrscr();
      puts("\nenter a number");
      gets(str);
      len=strlen(str);
      if(len==1)
	 puts(num[(str[0]-48)-1]);
      else if(len==2)
	{
	  if((str[0]-48)==0)
	     printf("%s",num[(str[1]-48)-1]);
       //	  else if((str[0]-48)==1)
	 //    printf("%s",numhund[(str[1]-48)]);
	  else// if((str[0]-48)>1)
	    {
	     printf("%s",numty[(str[0]-48)-1]);
	     if((str[1]-48)!=0)
		printf("%s",num[(str[1]-48)-1]);
	    }
	}//if(len==2)
      else if(len==3)
	{
	     printf("%s",numhund[(str[0]-48)-1]);
	     printf("%s",numty[(str[1]-48)-1]);
	     if((str[2]-48)!=0)
	       printf("%s",num[(str[2]-48)-1]);
	}
      else if(len==4)
	{
	  if((str[0]-48)!=0)
	    printf("%s thousand ",num[(str[0]-48)]);
	  if(((str[1]-48)!=0)&&((str[2]-48)==0)&&((str[3]-48)==0))
	    printf("%s hundred ",num[(str[1]-48)]);
	  else //if((str[1]-48)!=0)
	    printf("%s hundred and ",num[(str[1]-48)]);
	  if( ((str[2]-48)==0)&&((str[3]-48)!=0) )
	    printf("%s",num[(str[3]-48)]);
	  else if((str[2]-48)==1)
	    puts(numhund[(str[3]-48)]);
	  else if((str[2]-48)>1)
	    {
	     printf("%s",numty[(str[2]-48)]);
	     printf(" ");
	     if((str[3]-48)!=0)
		printf("%s",num[(str[3]-48)]);
	    }
	}
	printf("\n\n\n\nwant to continue(y/n) ? ");
	ch=getche();
     }while(ch=='y');
//   getch();
 }
